home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 46 / Amiga Format CD46 (1999-10-20)(Future Publishing)(GB)[!][issue 1999-12].iso / -serious- / misc / catmanged / scripts / strtocom.ged < prev   
Text File  |  1999-09-06  |  2KB  |  81 lines

  1. /* 
  2. ** $VER: StrToCom 1.1 (30.08.99)
  3. ** 
  4. ** Script author: Damir Arh
  5. **
  6. ** (C)1999 Digital Amiga Dream
  7. **
  8. **
  9. ** FUNCTION:
  10. **    ARexx-script for GoldEd.
  11. **    Converts strings constants in a CT or CD file into comments.
  12. **    Inserts empty rows as indicators for translated strings.
  13. **
  14. ** USAGE:
  15. **    StrToCom
  16. **
  17. ** $HISTORY:
  18. **
  19. ** 30.08.99 : 1.1 : Removed a syntax error
  20. ** 07.04.99 : 1.0 : First release
  21. */
  22.  
  23. OPTIONS RESULTS                             /* enable return codes     */
  24.  
  25. if (LEFT(ADDRESS(), 6) ~= "GOLDED") then    /* not started by GoldEd ? */
  26.     address 'GOLDED.1'
  27.  
  28. 'LOCK CURRENT RELEASE=4'                    /* lock GUI, gain access   */
  29.  
  30. if (RC ~= 0) then
  31.     exit
  32.  
  33. OPTIONS FAILAT 6                            /* ignore warnings         */
  34.  
  35. SIGNAL ON SYNTAX                            /* ensure clean exit       */
  36.  
  37. /* ------------------------ INSERT YOUR CODE HERE: ------------------- */
  38.  
  39. 'FIND STRING="#" FIRST QUIET'          /* find beginning of the header */
  40. 'FIND STRING=";" NEXT QUIET'                                /* skip it */
  41.  
  42. mode = 'comment'                         /* looking for the const name */
  43. do until (NumLines = CurrLine)
  44.     'QUERY CODE VAR=CurrChar'
  45.     'QUERY LINE VAR=CurrLine'
  46.     if mode = 'comment' then do                 /* found the const name? */
  47.         if (CurrChar ~= c2d(';')) then do
  48.             'DOWN'
  49.             'CR'                                        /* insert empty line */
  50.             'UP'
  51.             mode = 'string'                            /* commenting strings */
  52.         end
  53.     end
  54.     else do
  55.         if (CurrChar ~= c2d(';')) then do      /* not at the end of string */
  56.             'FIRST'
  57.             'TEXT T=";"'                                       /* comment it */
  58.             'FIRST'
  59.         end
  60.         else do
  61.             mode = 'comment'              /* looking for the next const name */
  62.         end
  63.     end
  64.     'DOWN'
  65.     'QUERY LINES VAR=NumLines'   /* get the number of lines (it changes) */
  66. end
  67.  
  68. /* ---------------------------- END OF YOUR CODE --------------------- */
  69.  
  70. 'UNLOCK' /* VERY important: unlock GUI */
  71.  
  72. exit
  73.  
  74. SYNTAX:
  75.  
  76. SAY "Sorry, error line" SIGL ":" ERRORTEXT(RC) ":-("
  77.  
  78. 'UNLOCK'
  79.  
  80. exit
  81.